package com.tan.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;

// 创建组件 该组件为mybatisPlus添加或者修改时调用该方法 自动添加值
@Component
public class MyMetaHandler implements MetaObjectHandler {

    // @TableField(fill = FieldFill.INSERT)调用该方法
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime",
                new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(new Date()), metaObject);
        this.setFieldValByName("modifiedTime",new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(new Date()), metaObject);
    }

    // @TableField(fill = FieldFill.INSERT_UPDATE) 修改或者插入时调用该方法
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("modifiedTime", new SimpleDateFormat("yyyy-MM-dd hh-mm-ss").format(new Date()), metaObject);
    }
}
